<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
    <style>
        .container {
            position: absolute;
            top: 50%;
            left: 50%;
            transform: translate(-50%, -50%);
        }

        .preloader {
            animation: rotate 2.3s cubic-bezier(0.75, 0, 0.5, 1) infinite;
        }

        @keyframes rotate {
            50% {
                transform: rotate(360deg);
            }

            100% {
                transform: rotate(720deg);
            }
        }

        .preloader span {
            height: 64px;
            width: 64px;
            display: block;
            position: absolute;
            background: pink;
            border: 1px solid pink;
            border-radius: 100%;
        }

        .preloader span:nth-child(1) {
            transform: translate(-28px, -28px);
            animation: shape_1 2.3s cubic-bezier(0.75, 0, 0.5, 1) infinite;
        }

        @keyframes shape_1 {
            60% {
                transform: scale(.4);
            }
        }

        .preloader span:nth-child(2) {
            transform: translate(28px, -28px);
            animation: shape_2 2.3s cubic-bezier(0.75, 0, 0.5, 1) infinite;
        }

        @keyframes shape_2 {
            40% {
                transform: scale(.4);
            }
        }

        .preloader span:nth-child(3) {
            position: relative;
            border-radius: 0px;
            transform: scale(.98) rotate(-45deg);
            animation: shape_3 2.3s cubic-bezier(0.75, 0, 0.5, 1) infinite;
        }

        @keyframes shape_3 {
            50% {
                border-radius: 100%;
                transform: scale(.5) rotate(-45deg);
            }

            100% {
                transform: scale(.98) rotate(-45deg);
            }
        }

        .container .shadow {
            position: relative;
            display: block;
            height: 16px;
            width: 64px;
            background: gray;
            border: 1px solid gray;
            border-radius: 50%;
            top: 30px;
            opacity: .6;
            animation: shadow 2.3s cubic-bezier(0.75, 0, 0.5, 1) infinite;
        }

        @keyframes shadow {
            50% {
                opacity: .1;
                transform: scale(.5);
            }
        }
    </style>
</head>

<body>
    <div class="container">
        <div class="preloader">
            <span></span>
            <span></span>
            <span></span>
        </div>
        <div class="shadow"></div>
    </div>
</body>

</html>